<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模型</title>
    <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body ng-app="myApp">
<div  ng-controller="myCtrl">
    名字:<input ng-model="name">
</div>
<!--
ng-model 指令
ng-model 指令可以将输入域的值与 AngularJS 创建的变量绑定。
-->
<script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope) {
        $scope.name = "John Doe";
    });
</script>
<p>使用 ng-model 指令来绑定输入域的值到控制器的属性。</p>
<!--
双向绑定
双向绑定，在修改输入域的值时， AngularJS 属性的值也将修改：
-->
<div ng-conctroller="myCtrl1">
    名字：<input ng-model="name">
    <h1>你输入了:{{name}}</h1>
</div>
<p>双向绑定，在修改输入域的值时</p>
<!--
验证用户输入
以上实例中，提示信息会在 ng-show 属性返回 true 的情况下显示。
-->
<form  name="myForm">
    Email:
    <input type="email" name="myAddress" ng-model="text">
    <span ng-show="myForm.myAddress.$error.email">不是一个合法的邮箱地址</span>
</form>

<form ng-app="" name="myForm1" ng-init="myText = 'test@runoob.com'">
    Email:
    <input type="email" name="myAddress" ng-model="myText" required></p>
    <h1>状态</h1>
    {{myForm1.myAddress.$valid}}
    {{myForm1.myAddress.$dirty}}
    {{myForm1.myAddress.$touched}}
</form>

<!--
CSS 类
ng-model 指令基于它们的状态为 HTML 元素提供了 CSS 类：
-->
<style>
    input.ng-invalid {
        background-color: lightblue;
    }
</style>
<body>

<form name="myForm2">
    输入你的名字:
    <input name="myAddress" ng-model="text" required>
</form>

<!--

ng-model 指令根据表单域的状态添加/移除以下类：
ng-empty
ng-not-empty
ng-touched
ng-untouched
ng-valid
ng-invalid
ng-dirty
ng-pending
ng-pristine
-->

</body>
</html>